1. Field of the Invention
The present invention relates to a speech coding system, and more particularly, to a method and apparatus for quantizing line spectral frequency (LSF) using block-constrained Trellis coded quantization (BC-TCQ).
2. Description of the Related Art
For high quality speech coding in a speech coding system, it is very important to efficiently quantize linear predictive coding (LPC) coefficients indicating the short interval correlation of a voice signal. In an LPC filter, an optimal LPC coefficient value is obtained such that after an input voice signal is divided into frame units, the energy of the prediction error for each frame is minimized. In the third generation partnership project (3GPP), the LPC filter of an adaptive multi-rate wideband (AMR_WB) speech coder standardized for International Mobile Telecommunications-2000 (IMT-2000) is a 16-dimensional all-pole filter and at this time, for quantization of 16 LPC coefficients being used, many bits are allocated. For example, the IS-96A Qualcomm code excited linear prediction (QCELP) coder, which is the speech coding method used in the CDMA mobile communications system, uses 25% of the total bits for LPC quantization, and Nokia's AMR_WB speech coder uses a maximum of 27.3% to a minimum of 9.6% of the total bits in 9 different modes for LPC quantization.
So far, many methods for efficiently quantizing LPC coefficients have been developed and are being used in voice compression apparatuses. Among these methods, direct quantization of LPC filter coefficients has the problems that the characteristic of a filter is too sensitive to quantization errors, and stability of the LPC filter after quantization is not guaranteed. Accordingly, LPC coefficients should be converted into other parameters having a good compression characteristic and then quantized and reflection coefficients or LSFs are used. Particularly, since an LSF value has a characteristic very closely related to the frequency characteristic of voice, most of the recently developed voice compression apparatuses employ a LSF quantization method.
In addition, if inter-frame correlation of LSF coefficients is used, efficient quantization can be implemented. That is, without directly quantizing the LSF of a current frame, the LSF of the current frame is predicted from the LSF information of past frames and then the error between the LSF and its prediction frames is quantized. Since this LSF value has a close relation with the frequency characteristic of a voice signal, this can be predicted temporally and in addition, can obtain a considerable prediction gain.
LSF prediction methods include using an auto-regressive (AR) filter and using a moving average (MA) filter. The AR filter method has good prediction performance, but has a drawback that at the decoder side, the impact of a coefficient transmission error can spread into subsequent frames. Although the MA filter method has prediction performance that is typically lower than that of the AR filter method, the MA filter has an advantage that the impact of a transmission error is constrained temporally. Accordingly, speech compression apparatuses such as AMR, AMR_WB, and selectable mode vocoder (SMV) apparatuses that are used in an environment where transmission errors frequently occur, such as wireless communications, use the MA filter method of predicting LSF. Also, prediction methods using correlation between neighbor LSF element values in a frame, in addition to LSF value prediction between frames, have been developed. Since the LSF values must always be sequentially ordered for a stable filter, if this method is employed additional quantization efficiency can be obtained.
Quantization methods for LSF prediction error can be broken down into scalar quantization and vector quantization (VQ). At present, the vector quantization method is more widely used than the scalar quantization method because VQ requires fewer bits to achieve the same encoding performance. In the vector quantization method, quantization of entire vectors at one time is not feasible because the size of the VQ codebook table is too large and codebook searching takes too much time. To reduce the complexity, a method by which the entire vector is divided into several sub-vectors and each sub-vector is independently vector quantized has been developed and is referred to as a split vector quantization (SVQ) method. For example, if in 10-dimensional vector quantization using 20 bits, quantization is performed for the entire vector, the size of the vector codebook table becomes 10×220. However, if a split vector quantization method is used, by which the vector is divided into two 5-dimensional sub-vectors and 10 bits are allocated for each sub-vector, the size of the vector table becomes just 5×210×2.
FIG. 1A shows an LSF quantizer used in an AMR wideband speech coder having a multi-stage split vector quantization (S-MSVQ) structure, and FIG. 1B shows an LSF quantizer used in an AMR narrowband speech coder having an SVQ structure. In LSF coefficient quantization with 46 bits allocated, compared to a full search vector quantizer, the LSF quantizer having an S-MSVQ structure as shown in FIG. 1A has a smaller memory and a smaller amount of codebook search computation, but due to complexity of memory and codebook search, requires a larger amount of computation. Also, in the SVQ method, if the vector is divided into more sub-vectors, the size of the vector table decreases and the memory can be saved and search time can decrease, but the performance is degraded because the correlation between vector values is not fully utilized. In an extreme case, if 10-dimensional vector quantization is divided into 10 1-dimensional vectors, it becomes scalar quantization. If the SVQ method is used and without LSF prediction between 20 msec frames, LSF is directly quantized, and acceptable quantization performance can be obtained using 24 bits per vector. However, since in the SVQ method each sub-vector is independently quantized, correlation between sub-vectors cannot be fully utilized and the entire vector cannot be optimized.
Many VQ methods have been developed including a method by which vector quantization is performed in a plurality of operations, a selective vector quantization method by which two tables are used for selective quantization, and a link split vector quantization method by which a table is selected by checking a boundary value of each sub-vector. These methods of LSF quantization can provide transparent sound quality, provided the encoding rate is large enough.